package kr.hkit.powerjava.chapter13;

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;


class MainPannel extends JPanel{

	public MainPannel() {
		JButton btn01 = new JButton("버튼1");
		btn01.setBorderPainted(false); //버튼경계
		btn01.setContentAreaFilled(false);
		btn01.setEnabled(false);
		
		JButton btn02 = new JButton("버튼2");
		btn02.setRolloverEnabled(true); //버튼이 활성화 되면 경계를 진하게..
		
		JLabel lbl01 = new JLabel();
		lbl01.setText("Screen Size") ;
		
		add(lbl01);
		add(btn01);
		add(btn02);
		setToolTipText("컴포넌트 추가 패널");
	}
	
	
}

class TfPanel{

	public TfPanel() {
		JTextField jtf01 = new JTextField(10); //컬럼의 수가 10개..
		JTextField jtf02 = new JTextField("텍스트 필드 테스트", 10);
		
	}
	
	
}
class MyFrame extends JFrame{

	public MyFrame() throws HeadlessException {
		Toolkit tool = Toolkit.getDefaultToolkit();
		Dimension screenSize = tool.getScreenSize();
		Dimension frameSize = new Dimension(300,200);
		
		int x = (int) (screenSize.getWidth()/2 - frameSize.getWidth()/2);
		int y = (int) (screenSize.getHeight()/2 - frameSize.getWidth()/2);
		
		setLocation(x,y);
		setSize(frameSize);
		
		Image img = tool.getImage("./src/kr/hkit/powerjava/chapter13/Hydrangeas.jpg");
		setIconImage(img);
		
		setTitle("Frame Test2");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		setLayout(new FlowLayout()); //프레임창의 폭을 줄이면 버튼이 세로로 내려간다..
		JButton btn01 = new JButton("버튼1");
		btn01.setBorderPainted(false); //버튼경계
		btn01.setContentAreaFilled(false);
		btn01.setEnabled(false);
		
		JButton btn02 = new JButton("버튼2");
		btn02.setRolloverEnabled(true); //버튼이 활성화 되면 경계를 진하게..
		JLabel lbl01 = new JLabel(); 
		
		
		lbl01.setText("Screen Size : ("+screenSize.getWidth() + ", " + screenSize.getHeight());
		JTextField jtf01 = new JTextField(10); //컬럼의 수가 10개..
		JTextField jtf02 = new JTextField("텍스트 필드 테스트", 10);
		
		/*		add(lbl01);
		
		add(btn01); //만들고 추가해야 생성됨..
		add(btn02);*/
		
//		remove(btn02);
		JPanel mainPanel = new JPanel(new FlowLayout());
		mainPanel.add(lbl01);
		mainPanel.add(btn01);
		mainPanel.add(btn02);
		mainPanel.setToolTipText("컴포넌트 추가 패널");
		
		JPanel tfPanel = new JPanel(); //디폴트가 FlowLayout 생략가능
		tfPanel.add(jtf01);
		tfPanel.add(jtf02);
		
		add(mainPanel);
		add(tfPanel);
		pack();
		
		mainPanel.setToolTipText("컴포넌트 추가 패널");
		
		
		
//		setResizable(false); //사용자가 창의 크기를 조절 못하게 한다.
		
		add(mainPanel);
		pack();
		setVisible(true);
	}
	
}
public class FrameTest {
	public static void main(String[] args) {
		new MyFrame();
	/*  JFrame f = new JFrame("Frame Test");
//		f.setSize(new Dimension(300, 200));
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);*/
	}
}
